// 关注实例的属性

// 使用 "对象字面量" 来创建Object类的一个实例
let x = {
    id: 10086,
    name: '相爷'
}

// 检测属性
console.log( 'id' in x ); // true
console.log( 'name' in x ); // true
console.log( 'age' in x ); // false

// 动态添加实例属性
x.age = 18 ;
console.log( 'age' in x ); // true

// 取实例属性值
let id = x.id ;
let name = x.name ;
console.log( id , name , x.age );
// 像Java中的Map一样通过 属性名 获取属性值
id = x[ 'id' ] ;
name = x[ 'name' ]
console.log( id , name , x[ 'age' ] );

// 为实例属性赋值
x.id = 10010 ;
x[ 'name' ] = '丞相' ;
x.age = 28 ;
console.log( x );

// 动态删除属性
delete x.age ;
console.log( x );

delete x.name ;
console.log( x );

delete x.id ;
console.log( x );

let s = {
    id: 1001 ,
    name: '张翠山' ,
    age: 26 ,
    gender: '靓仔',
    married: true
}

// 动态添加属性(只不过属性值是个函数)
s.produce = function(){
}

// 使用 for...in 循环可以遍历一个实例
for( let property in s ){
    console.log( property , s[ property ] );
}
